Чтобы указать решению Dotfuscator, какие данные подлежат сбору и когда их следует собирать, мы должны аннотировать наш код с помощью "расширенных атрибутов", добавляемых через Dotfuscator, или настраиваемых атрибутов, добавляемых в ходе разработки. На вкладке "Атрибуты" содержится представление входных элементов, к которым можно добавить расширенные атрибуты, щелкнув правой кнопкой мыши сборки или методы.
Независимо от любых других задач, мы должны уникальным образом идентифицировать приложение и аннотировать его точки входа и выхода. Для идентификации приложения необходимо добавить атрибуты BusinessAttribute и ApplicationAttribute в основную сборку. Атрибут BusinessAttribute определяет компанию с помощью идентификатора GUID, предоставляемого компанией PreEmptive, а атрибут ApplicationAttribute обеспечивает разделение данных, получаемых из различных приложений этой компании, с помощью настроенных идентификаторов GUID. Для бесплатной конечной точки служб PreEmptive Analytics (настроенной в атрибуте SetupAttribute) требуется конкретный ключ CompanyKey, который предоставляется по умолчанию в редакторе атрибутов BusinessAttribute.
Чтобы включить отправку сообщений, необходимо указать метод или методы, обозначающие точки входа и выхода приложения (или в более общем смысле, начало и окончание сбора данных), путем добавления атрибута SetupAttribute в каждый входной метод и атрибута TeardownAttribute в каждый выходной метод. Атрибут SetupAttribute можно настроить для отправки данных в требуемую конечную точку. В отчет включаются только данные, собираемые между точками Setup и Teardown.
К данному моменту наше приложение настроено для отправки данных жизненного цикла в указанную конечную точку. Теперь можно настроить сбор дополнительных данных, таких как сведения об использовании функций (атрибут FeatureAttribute) и данные об исключениях (атрибут ExceptionTrackAttribute), а также обнаружение незаконно измененных сеансов (атрибут InsertTamperCheckAttribute). Дополнительные сведения об этих и других атрибутах см. в руководстве.